<?php


class LoginView{
	
	private $UserName = "userName";
	private $Password = "password";
	private $Submit = "submit";
	private $Logout = "logout";
	private $Remember = "remember";
	private $Login = "login";
		
		
		/**
		 * Skriver ut inloggningsrutan
		 * @return string - XHTML med inloggningsformulär
		 */
		public function DoLoginBox(){
			return "
			<form method='post'>
				<fieldset>
					<label for='userName'>Användarnamn</label><input type='text' id='userName' name='$this->UserName' placeholder='Användarnamn' tabindex='1' autofocus/> <br />
					<label for='password'>Lösenord</label><input type='password' id='password' name='$this->Password' placeholder='Lösenord' tabindex='2'/> <br />
					<button type='submit' id='submit' name='$this->Submit' tabindex='4'>Logga in</button>
					
					<label for='remember'>Kom ihåg mig</label>
					<input type='checkbox' id='remember' name='$this->Remember' tabindex='3'/>					
				</fieldset>	
			<form>	
			<a href='#register'>Registrera nytt </a>
			";
		}
		
		/**
		 * Skriver ut loggaut-knapp
		 * @return string - XHTML med utloggningsknapp
		 */
		public function DoLogoutBox()
		{
			return "
				<form method='post'>
					<button type='submit' name='$this->Logout' id='logout' novalidate>Logga ut</button>
				</form>
			";	
		}
		
		/**
		 * Hämtar användarnamnet från Post-arrayen
		 * @return string med användarnamn
		 */
		public function GetUserName()
		{
			// returnera sträng med användarnamn eller null om det är tomt
			if (isset($_POST[$this->UserName]) == TRUE) {
				return $_POST[$this->UserName];
				
			} else {
				return NULL;
			}
			
		}
	

		/**
		 * Hämtar lösenordet från Post-arrayen
		 * @return string med lösenord
		 */
		public function GetPassword()
		{
			// returnera sträng med lösenord eller null om det är tomt
			if (isset($_POST[$this->Password]) == TRUE) {
				return $_POST[$this->Password];
				
			} else {
				return NULL;
			}
		}
		
		
		/**
		 * Avgör om användaren har klickat på Logga-in-knappen
		 * @return bool
		 */
		public function TriedToLogin()
		{
			// Returnera true eller false
			if (isset($_POST[$this->Submit]) == TRUE) {
				return TRUE;
				
			} else {
				return FALSE;
			}
			
		}
		

		/**
		 * Avgör om användaren tryckt på utloggningsknappen.
		 * @return bool
		 */
		public function TriedToLogout()
		{
			// returnera true eller false
			if (isset($_POST[$this->Logout]) == TRUE) {
				return TRUE;
				
			} else {
				return FALSE;
			}
			
		}
		
		
		/**
		 * Kontrollerar om 'kom-ihåg-knappen' är ikryssad
		 * @return bool
		 */
		public function IsRememberChecked(){
			if (isset($_POST[$this->Remember]) == TRUE){
				return TRUE;
			} else {
				return FALSE;
			}
		}
		
		
		/**
		 * Sparar kakor
		 */
		public function SetCookie(){									
			setcookie($this->UserName, $this->GetUserName(), time()+1000);
			setcookie($this->Password, $this->GetPassword(), time()+1000);
		}
		
		
		/**
		 * Kontrollerar om kakorna är satta
		 * @return bool
		 */
		public function IsCookiesSet(){
			if(isset($_COOKIE[$this->UserName]) && isset($_COOKIE[$this->UserName])){
				return TRUE;
			} else {
				return FALSE;
			}
		} 
		
		
		/**
		 * Tar ut användarnamnet ur cookien (om kakan finns)..
		 * @return string
		 */
		public function ReadUserCookie(){
			
			if(isset($_COOKIE[$this->UserName]) == TRUE){
				return $_COOKIE[$this->UserName];
			}
		}
		
		
		/**
		 * Tar ut lösenord ur cookien (om kakan finns)..
		 * @return string
		 */
		public function ReadPassCookie(){
			if(isset($_COOKIE[$this->Password]) == TRUE){
				return $_COOKIE[$this->Password];
			}
		}
		
		
		/**
		 * Dödar kakorna
		 */
		public function KillCookies(){		
			setcookie($this->UserName, "", time()-6000);
			unset($_COOKIE[$this->UserName]);
			setcookie($this->Password, "", time()-6000);
			unset($_COOKIE[$this->Password]);
	
		}
		
		// Felmeddelanden
		public function LoggedInMessage(){
			return "<p>Inloggad</p>";
		}
		public function LoggedOutMessage(){
			return "<p>Utloggad</p>";
		}
		public function WrongInfoPassMessage(){
			return "<p>Fel användarnamn eller lösenord</p>";
		}
		public function LoggedInWithCookies(){
			return "<p>Inloggad med Cookies</p>";
		}
}

?>